---
title: clsProviderTaxID
summary: API reference for clsProviderTaxID.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-21
library: SAIF.Business.View.Provider
reference_type: embedded
---

# clsProviderTaxID

`clsProviderTaxID` represents one tax-ID registration for a provider, including its W-9 tracking dates and an embedded `clsAddress`. It is loaded exclusively through `clsProviderTaxIDCollection`'s direct-query (`clsResultSet`) retrieval style rather than the portal/criteria pattern, and its per-row address is the object `clsProvider.PayeeAddress` inspects when resolving the payee address fallback.

## Purpose
- Carries the effective/expiration dates and 1099-reportable flag that determine whether a given tax ID is the one currently governing payee-address resolution ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)).
- Tracks W-9 sent/received dates for compliance visibility on the provider's tax registration.
- Supplies the embedded address used by `clsProvider.PayeeAddress` when a tax ID is effective today and not yet expired ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)).

## Context
- Namespace: `SAIF.Business.View.Provider`
- Assembly/package: `SAIF.Business.View.Provider` (embedded/project-compiled); also distributed as the NuGet package `SAIF.BOF.Business.View.Provider`.

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `TaxID` | `ReadOnly Property TaxID As String` | The raw tax-ID value for this registration row. |
| `TaxIDDisplay` | `ReadOnly Property TaxIDDisplay As String` | The display-formatted rendering of `TaxID`. |
| `RegisteredName` | `ReadOnly Property RegisteredName As String` | The registered name associated with this specific tax-ID record. |
| `EffectiveDate` | `ReadOnly Property EffectiveDate As Date` | Date from which this tax ID is considered active, checked by `PayeeAddress` resolution ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)). |
| `ExpirationDate` | `ReadOnly Property ExpirationDate As Date` | Date after which this tax ID is no longer considered active for payee-address resolution ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)). |
| `Is1099Reportable` | `ReadOnly Property Is1099Reportable As Boolean` | Indicates whether payments against this tax ID must be reported on a 1099. |
| `W9SentDate` | `ReadOnly Property W9SentDate As Date` | Date the W-9 request was sent to the provider for this tax ID. |
| `W9ReceivedDate` | `ReadOnly Property W9ReceivedDate As Date` | Date the completed W-9 was received back for this tax ID. |
| `Address` | `ReadOnly Property Address As clsAddress` | The address on file for this tax-ID record, populated with formatting suspended during load and re-enabled after (OP-08); consumed by `clsProvider.PayeeAddress` ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)). |
| `IsValid` | `ReadOnly Property IsValid As Boolean` (overridden from `clsBusinessBase`) | Reflects the type's rule-check state; not used to gate any write since none exist. |
| `IsDirty` | `ReadOnly Property IsDirty As Boolean` (overridden from `clsBusinessBase`) | Indicates in-memory field changes; has no effect on persistence since no write SQL is defined ([BR-DATA-001](../../business-rules.md#br-data-001-no-write-operations-are-supported)). |
| `Save` | `Function Save() As clsProviderTaxID` (overridden from `clsBusinessBase`) | Present for BOF interface compatibility; cannot persist because the owning collection's criteria supplies retrieve-only SQL ([BR-DATA-001](../../business-rules.md#br-data-001-no-write-operations-are-supported)).* |

## Behavioral notes
- OP-08: loaded via `clsProviderTaxIDCollection.AfterRetrieve`, which iterates `clsResultSet.DataRow` rows and calls `Load()` per instance; `Fill` populates the embedded `clsAddress` with `ActiveFormating = False` while setting parts, then re-enables formatting.
- `clsProvider.PayeeAddress` scans the provider's `TaxIDs` for a record whose `EffectiveDate`/`ExpirationDate` window covers today and whose tax ID matches the primary location's provider primary tax ID, using this type's `Address` when found ([BR-PRV-002](../../business-rules.md#br-prv-002-payee-address-resolution-order)).

## Constraints and usage notes
- Always obtained via `clsProvider.TaxIDs` or `clsProviderTaxIDCollection.GetProviderTaxIDs`; there is no standalone single-record retrieval factory for this type.*
- No create/update/delete capability exists for tax-ID records ([BR-DATA-001](../../business-rules.md#br-data-001-no-write-operations-are-supported)).

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- SAIF.Business.View.Provider/clsProviderTaxID.vb
